return (GTK_OBJECT_FLAGS (widget) & GTK_HAS_DEFAULT) != 0;
}
+void
+_gtk_widget_set_has_default (GtkWidget *widget,
+ gboolean has_default)
+{
+ if (has_default)
+ GTK_OBJECT_FLAGS (widget) |= GTK_HAS_DEFAULT;
+ else
+ GTK_OBJECT_FLAGS (widget) &= ~(GTK_HAS_DEFAULT);
+}
+
/**
* gtk_widget_grab_default:
* @widget: a #GtkWidget
# define gtk_widget_unref g_object_unref
#endif /* GTK_TRACE_OBJECTS && __GNUC__ */
+void _gtk_widget_set_has_default (GtkWidget *widget,
+ gboolean has_default);
void _gtk_widget_set_has_grab (GtkWidget *widget,
gboolean has_grab);
void _gtk_widget_set_is_toplevel (GtkWidget *widget,
if (window->focus_widget != window->default_widget ||
!gtk_widget_get_receives_default (window->default_widget))
- GTK_WIDGET_UNSET_FLAGS (window->default_widget, GTK_HAS_DEFAULT);
+ _gtk_widget_set_has_default (window->default_widget, FALSE);
gtk_widget_queue_draw (window->default_widget);
}
{
if (window->focus_widget == NULL ||
!gtk_widget_get_receives_default (window->focus_widget))
- GTK_WIDGET_SET_FLAGS (window->default_widget, GTK_HAS_DEFAULT);
+ _gtk_widget_set_has_default (window->default_widget, TRUE);
gtk_widget_queue_draw (window->default_widget);
}
if (gtk_widget_get_receives_default (window->focus_widget) &&
(window->focus_widget != window->default_widget))
{
- GTK_WIDGET_UNSET_FLAGS (window->focus_widget, GTK_HAS_DEFAULT);
+ _gtk_widget_set_has_default (window->focus_widget, FALSE);
gtk_widget_queue_draw (window->focus_widget);
if (window->default_widget)
- GTK_WIDGET_SET_FLAGS (window->default_widget, GTK_HAS_DEFAULT);
+ _gtk_widget_set_has_default (window->default_widget, TRUE);
}
window->focus_widget = NULL;
(window->focus_widget != window->default_widget))
{
if (gtk_widget_get_can_default (window->focus_widget))
- GTK_WIDGET_SET_FLAGS (window->focus_widget, GTK_HAS_DEFAULT);
+ _gtk_widget_set_has_default (window->focus_widget, TRUE);
if (window->default_widget)
- GTK_WIDGET_UNSET_FLAGS (window->default_widget, GTK_HAS_DEFAULT);
+ _gtk_widget_set_has_default (window->default_widget, FALSE);
}
if (window->has_focus)